約 4,125,099 件
https://w.atwiki.jp/ddrspwiki2nd/pages/240.html
曲名 アーティスト フォルダ 難易度 BPM NOTES/FREEZE(SHOCK) ORION.78 (civilization mix) 2MB MAX 激13 200 398/0 譜面 http //www.ddr.sh/steps/basic/o/orion_civilization/4m_orion_civilization_a_p.html 動画 http //www.youtube.com/watch?v=MHlavLbmTW8 (x1.0,VIVID) 解説 文明オリオン、裏オリオン、オリシビなどと呼ばれている。Healing Vision (Angelic mix)(激)と併せてどうぞ。 判定暴発に注意。同時踏みを気持ち早めに踏むと良い。 音合わせ(12分踏み)のスキップあり。ズレると悲惨なので覚えおくように。 後半は体力勝負。最後の8分滝は交互で踏めないので注意。 名前 コメント コメント(感想など) 最後の8小節にある8分滝は交互に踏めない。BPMも速い為、ジャンプが絡む前半で体力消費を抑えたい所。 -- 名無しさん (2010-10-11 14 07 47) 途中の12分地帯でグレるわ、8分に同時がかなり絡むわ、交互難だわで何気にかなり強い13。曲と譜面が万人受けされづらいのはご愛嬌か。 -- 名無しさん (2012-08-16 08 27 46) ↑同意 これだけAすら困難…他はほぼ全部Aなのに -- 名無しさん (2012-08-16 12 01 13) 名前 コメント
https://w.atwiki.jp/dgsp/pages/12.html
Audio option
https://w.atwiki.jp/mrfrtech/pages/55.html
Market Scenario Market Research Future (MRFR), in its latest report on the global market for construction robots, reveals the likely market scenario in the study period and factors that can control the market across the forecast period 2018–2023. The global Construction Robot MarketSize is likely to rise at 17% CAGR in the forecast period 2018–2023. The construction robot value to touch USD 165 million in the assessment period. Novel coronavirus has Construction Robot Market Size to open new avenues for those firms that are on the lookout for solutions that are reliable, efficiently managed, scalable, and are subscription-based, to remain more focused on the core business. The Construction Robot Market is bearing lesser impact of the COVID-19 outbreak compared to most other segments of the tech world. The growing automation trend in the construction industry is expected to underpin the construction robot in the assessment period. The increase in automated construction solution for renovation, commercial construction, and demolition can boost the expansion of the market across the study period. In addition, the increase in safety concern for labours in disorganized and threating work environment is also boosting the adoption of construction robot, which, in turn, can support the market growth in the years ahead. Request a Free Sample @ https //www.marketresearchfuture.com/sample_request/6305 Competitive Outlook Alpine Sales and Rental (US), CyBe Construction (Netherlands), Cyberdyne (Japan), nLink (Norway), Komatsu (Japan), Husqvarna (Sweden), Brokk AB (Sweden), Esko Bionics (U.S.), TopTec Spezialmaschinen GmbH (Germany), Conjet AB (Sweden), Construction Robotics (U.S.) Autonomous Solutions (US), Fastbrick Robotics (Australia), Apis Cor (Russia), Yingchuang Building Technique Co. (WinSun) (China), MX3D (Netherlands), Giant Hydraulic Tech (China), Advanced Construction Robotics (US), and Beijing Borui Intelligent Control Technology (China) are some reputed dealers of Construction robots as listed by MRFR. Segmentation The segment evaluation of the construction robot market is done by automation, function, vertical, and design type. The design type-based segment of the construction robot are robotic arm, exoskeleton, and traditional robot. The rise in popularity of robotic arm construction robot due to advantages, such as ease of lifting heavy weights and slashing manual labor, can promote the expansion of the market in the years to come. The automation based segments of the construction robot market are semi-autonomous and fully autonomous. The high adoption of automated, followed by semi-autonomous robot can boost the expansion of the construction robot market through the analysis period. The function-based segments of the construction robot market are bricklaying, demolition, concrete structural erection, 3D printing, doors and windows installation, finishing work, and others. Increase in scope of 3D printing can impel the market rise. The vertical based segments of the construction robot market are commercial and residential buildings, public infrastructure, and nuclear dismantling and demolition among others. Other includes road and tunnel construction. Rise in building activates can boost the expansion of the market in the assessment period. Regional Analysis In APAC, the growing awareness about Construction robots and its benefits such as improvement safety, high quality, and rise in productivity can impel the expansion of the regional market through the review period. The availability of different type of construction robots that simplifies tasks in the construction sector can impel the expansion of the APAC market. The rise in the popularity of 3D-printing robots and launch of innovative prototypes can boost the expansion of the construction robot market in the North America. In Europe, the increase in buildings based on 3D models to construct complex design can prompt the regional market growth. In addition, advancements in industrial robotics and the use of implementation on UAV (unmanned aerial vehicles) across the US construction industry can support the expansion of the regional market. The feasibility of UAVs in capturing accurate data for large sites, site surveying, health and safety inspections, and accessing hazardous zones can support the expansion of construction robot market in the North America region. Table of Contents 1Executive Summary 2Scope of the Report 2.1Market Definition 2.2Scope of the Study 2.2.1Research objectives 2.2.2Assumptions Limitations 2.3Markets Structure Continued…. Browse Full Report Details @ https //www.marketresearchfuture.com/reports/construction-robot-market-6305 List of Tables Table1 Global Construction Robot Market By Country, 2020–2027 Table2 North America Construction Robot Market, By Country, 2020–2027 Table3 Europe Construction Robot Market By Country, 2020–2027 Continued… List of Figures FIGURE 1 Global Construction Robot Market Segmentation FIGURE 2 Forecast Methodology FIGURE 3 Porter’s Five Forces Analysis Of Global Construction Robot Market Continued… Similar Report B2B Telecommunication Market Information by Solution (Unified Communication and Collaboration), Deployment (Fixed, Mobile), Organization Size (Large, Enterprise), Application (Industrial, Commercial) and regions Trending #MRFR Report** https //ictmrfr.blogspot.com/2022/04/geofencing-market-companies-growth-with.html https //blogfreely.net/pranali004/telecom-expense-management-market-size-impressive-cagr-changing-business-scope https //postheaven.net/pranali004/financial-app-industry-impressive-cagr-changing-business-needs-scope-of https //market-research-future.tribe.so/post/openstack-service-market-research-impressive-cagr-changing-scope-of-current--6263de46791566c10c79891e https //www.scutify.com/articles/2022-04-24-infrastructure-as-a-service-industry-cagr-changing-business-scope-of-current-and-future-industry- About Market Research Future Market Research Future (MRFR) has created a niche in the world of market research. It is counted among the top market research companies that offer well-researched and updated market research reports and insights to businesses of all sizes. What sets us apart is our super-responsive team that offers quality work keeping clients abridged of the prospective challenges and opportunities in various markets. Our team is adept in their space as well as patiently listens to every client. The best part is they know their work inside out and possess the expertise to guide the client in the right direction and achieve results on a tight deadline. We are a one-stop solution for all your data research needs. Our team does not believe in the “one size fits all” approach to creating a report that is detailed and concise. We handle 13 industry verticals including Healthcare, Chemicals and Materials, Information and Communications Technology, Semiconductor and Electronics, Energy and Power, Food, Beverages Nutrition, Automobile, Consumer and Retail, Aerospace and Defense, Industrial Automation and Equipment, Packaging Transport, Construction, and Agriculture. With our unique approach for every market report, we aim to reach the zenith in qualitative business intelligence and syndicated market research. Contact Market Research Future (Part of Wantstats Research and Media Private Limited) 99 Hudson Street, 5Th Floor New York, NY 10013 United States of America 1 628 258 0071 (US) 44 2035 002 764 (UK) Email sales@marketresearchfuture.com Website https //www.marketresearchfuture.com
https://w.atwiki.jp/dominions3/pages/889.html
Divination 敵の州を占いで偵察します 未使用の魔法です Divination ジェム 疲労 内部ID 145 0 使用 水中判定 効果 効果量 儀式 水中可 Scry 主属性 主Lv 効果発生数 射程距離 Holy 3 1 副属性 副Lv 効果範囲 命中補正 - 0 0 領域 Lv 防御判定 抵抗判定 Disabled 1 専用国家 ゲーム内説明文 The priestess uses her oracular powers of observation to reveal everything about a province. 和訳 Priestessは行政区の全てを明らかにするために、彼女の信託による観察能力を使用します。 注記 珍しくデータが残っている未使用魔法。当然プレイ上の意味は皆無だが、その気があればMODでデータを弄ることで見ることはできる。 ただし聖魔法の儀式はバグがあるそうで、Shift+Mによる連続詠唱指示を出すとターン経過の際にエラーが発生するらしい。あえて使えるようにしようという人はまずいないとは思うが。 説明からすると、本来はArcoscephaleの固有魔法だったか、もしくはその予定だったものと思われる。現在の仕様だとDominion下自動偵察もあるし、Late Ageは首都の魔法土地自体に遠隔偵察機能が含まれるので、それらに取って代わられたのだろう。 コメント 名前 コメント
https://w.atwiki.jp/dominions4/pages/25.html
Arcoscephale, Golden Era Ermor, New Faith Ulm, Enigma of Steel Marverni, Time of Druids Sauromatia, Amazon Queens T ien Ch i, Spring and Autumn Machaka, Lion King Mictlan, Reign of Blood Abysia, Children of Flame Caelum, Eagle Kings C tis, Lizard Kings Pangaea, Age of Revelry Agartha, Pale Ones Tir na n Og, Land of the Ever Young Fomoria, The Cursed Ones Vanheim, Age of Vanir Helheim, Dusk and Death Niefelheim, Sons of Winter Kailasa, Rise of the Ape Kings Lanka, Land of Demons Yomi, Oni Kings Hinnom, Sons of the Fallen Ur, The First City Berytos, The Phoenix Empire Atlantis, Emergence of the Deep Ones R lyeh, Time of Aboleths Pelagia, Pearl Kings Oceania, Coming of the Capricorns
https://w.atwiki.jp/fallout_jp/pages/173.html
# # アアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアア # # Text labels and messages used in OPTIONS.C # # (These MUST match "text message" enumeration on the top of OPTIONS.C) # # アアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアア # ー Main option panel ー # # Buttons #{0}{}{SAVE GAME} #{1}{}{LOAD GAME} #{2}{}{PREFERENCES} #{3}{}{EXIT GAME} #{4}{}{DONE} {0}{}{セーブ} {1}{}{ロード} {2}{}{設定} {3}{}{終了} {4}{}{完了} # # Preferences # #{100}{}{GAME PREFERENCES} #{101}{}{GAME DIFFICULTY} #{102}{}{COMBAT DIFFICULTY} #{103}{}{VIOLENCE LEVEL} #{104}{}{TARGET HIGHLIGHT} #{105}{}{BURNING GUYS} #{106}{}{COMBAT MESSAGES} #{107}{}{COMBAT TAUNTS} #{108}{}{LANGUAGE FILTER} #{109}{}{RUNNING} {100}{}{ゲーム設定} {101}{}{ゲーム難易度} {102}{}{戦闘難易度} {103}{}{暴力レベル} {104}{}{ターゲット強調表示} {105}{}{BURNING GUYS} {106}{}{戦闘メッセージ} {107}{}{戦闘時の挑発} {108}{}{言語フィルター} {109}{}{走る} #{110}{}{SUBTITLES} #{111}{}{ITEM HIGHLIGHT} #{112}{}{COMBAT SPEED} #{113}{}{TEXT DELAY} #{114}{}{MASTER AUDIO VOLUME} #{115}{}{MUSIC/MOVIE VOLUME} #{116}{}{SOUND EFFECTS VOLUME} #{117}{}{SPEECH VOLUME} #{118}{}{BRIGHTNESS LEVEL} #{119}{}{MOUSE SENSITIVITY} {110}{}{字幕} {111}{}{アイテム強調表示} {112}{}{戦闘スピード} {113}{}{テキスト表示時間} {114}{}{マスターボリューム} {115}{}{ミュージック/ムービーのボリューム} {116}{}{効果音のボリューム} {117}{}{台詞のボリューム} {118}{}{ブライトネス} {119}{}{マウス感度} #{120}{}{DEFAULT} #{121}{}{CANCEL} #{122}{}{Affect player speed} #{123}{}{Pipboy speech} {120}{}{初期設定} {121}{}{キャンセル} {122}{}{プレイヤーの速度に影響する} {123}{}{Pipboy音声} # # Label text # #{201}{}{On} # 1 #{202}{}{Off} # 2 #{203}{}{Easy} # 1 #{204}{}{Normal} # 2 #{205}{}{Hard} # 3 #{206}{}{Wimpy} # 1 #{207}{}{Normal} # 2 #{208}{}{Rough} # 3 #{209}{}{Normal} # 1 #{210}{}{Fastest} # 2 {201}{}{オン}# 1 {202}{}{ オフ} # 2 {203}{}{ イージー}# 1 {204}{}{ノーマル} # 2 {205}{}{ ハード} # 3 {206}{}{ 腰抜け} # 1 {207}{}{ 標準} # 2 {208}{}{ 過酷} # 3 {209}{}{ 標準} # 1 {210}{}{ 最速} #2 #{211}{}{Verbose} # 1 #{212}{}{Brief} # 2 #{213}{}{Targeting Only} #{214}{}{None} # 1 #{215}{}{Minimal} # 2 #{216}{}{Maximum Blood} # 3 #{217}{}{Slow} # 1 #{218}{}{Faster} # 2 #{219}{}{Always} #{220}{}{Lots} {211}{}{詳細} # 1 {212}{}{簡易} # 2 {213}{}{ターゲット時のみ} {214}{}{なし}# 1 {215}{}{低} # 2 {216}{}{ 高} # 3 {217}{}{ ゆっくり} # 1 {218}{}{ 速い} # 2 {219}{}{常時} {220}{}{ 頻繁} #{221}{}{Quiet} # 1 #{222}{}{Loud} # 2 #{223}{}{Brighter} #{224}{}{Wide} {221}{}{ 小} # 1 {222}{}{ 大}# 2 {223}{}{ 明るい} {224}{}{ワイド} # # Pause window # #{300}{}{DONE} #{301}{}{PAUSED} {300}{}{戻る} {301}{}{ポーズ中} # # Demo versions only # #{1000}{}{Sorry, the preferences menu is not} # 1 #{1001}{}{available in the demo version.} # 2 {1000}{}{デモバージョンに設定メニューは} # 1 {1001}{}{ありません。} # 2
https://w.atwiki.jp/resistance/pages/276.html
クラン名:Flag conpetetion リーダー:Revolution_2 ● 旗&TDM専門クラン?とくにランクでよく見る ● たまにカスタム部屋で募集中!? 誰でもはいれるみたい Revolution_2 現在のリーダー自分では何とも言えないが、たまに天然な時がある??? ↑よくクラン員に↑的なこと言われます^^(みんなの笑わせ役???? SASAMIMAN masaSHOと同じく付き合いが長い。スナがうまく撃ち合いも強い。 たまに笑わせてくれる(笑) Revolution_3 この人も付き合いが長い。撃ち合いもうまく、最近ではスナがうまくなってきた。 Revolution_1 この人もなかなか付き合いが長い。打ち合いが強くヘッジホックを使うのがうまい。 G-GUNDAM 撃ち合いは通常レベル?だがスナがうまい。いろいろなことを知っている。 この人の名言はクラン内で大流行!!! have_a_nice_day ボイチャは持っていないが撃ち合いともにうまい。集団性に優れており集団行動がうまい。 Final-Dragon 撃ち合いがかなりうまい。(ヘッドショットが少ないがかなり減る 最近ボイチャを買ってかなりノリがよく、すこしテンパっている???(じゃっかん天然^^ SAYAKA777 最近入ってくれた人。格闘がかなり強い!!ボイチャは持ってるけど、誰もまだ喋ってない。 red 最近入ってくれた初心者。あんまりやったことないので、詳細不明 ボイチャ率80%!!! 現在クラン員募集中!!!
https://w.atwiki.jp/dominions4/pages/300.html
小範囲の味方の生身の防御力を10まで増加させ、代わりに火に弱くします Protection 領域 使用 宝石 Alteration Lv3 戦闘/水陸両用 - 主属性 副属性 効果量 効果発生数 1 - - - 射程距離 効果範囲 精度補正 疲労 15 1 100 20 特殊 ゲーム内説明文 This spell works just like the Barkskin spell, except that it affects all units in an area and can be cast from long distance. 和訳 この呪文はBarkskinの呪文と同じ機能を持ちますが、これは一定範囲に居るすべてのユニットに影響し、また遠距離から使用することができます。 解説 Barkskinの小範囲版。同時期に使える小範囲支援魔法と比べ、射程がやや長いのが特徴。狙いも外さない。 この範囲では多数の兵をカバーするのは難しいだろうが、十分に距離を置いて使えるので、他の小範囲支援を兵士に使おうとするよりは現実的な活用ができる。人間の兵士などには無視できない恩恵になるので、研究を急がないのであれば、いくらか低位の魔術師を連れてきて支援させてやるのも悪くない。 その射程の長さは欠点にもなり得る。射程内により多くの味方が入り得るため、特定の対象に対して確実に使わせようとすると配置に相当な工夫が必要となってしまう。戦闘型指揮官にかけてやろうとする場合は注意が必要。 コメント 名前 コメント
https://w.atwiki.jp/ddr_dp/pages/2097.html
黒髪乱れし修羅となりて~凛 edition~(激) 曲名 アーティスト フォルダ 難易度 BPM NOTES/FA(SA) その他 黒髪乱れし修羅となりて~凛 edition~ 日向美ビタースイーツ♪ A 激14 150 555 / 2 STREAM VOLTAGE AIR FREEZE CHAOS 90 68 10 7 84 楽譜面(6) / 踊譜面(10) / 激譜面(14) / 鬼譜面(-) 属性 渡り、ひねり、地団駄、同時踏み、八分滝 譜面 http //livedoor.blogimg.jp/yanmar195/imgs/c/3/c3cc6934.png 譜面動画 https //www.youtube.com/watch?v=SZcsWCrd6Ko (x2.0, NOTE, CLAP) プレイ動画 https //www.youtube.com/watch?v=R1e3yi7mEx0 (x?.?, NOTE) https //www.youtube.com/watch?v=iqQogDiOQKU (x?.?, NOTE) 解説 若干物量の増えたカラーズ鬼、若しくは廉価版夏色と言った趣の譜面で、逆詐称具合も夏色と良く似ている。シンプルな8分滝に16分3連がひたすら混ざった配置で、カズダンス捻りから上下地団駄や8分滝に混ざった同時などは若干踏み辛いがBPMを考えると難易度相応とは言い難い。SPのような縦ビジ16分3連は無くなっている。ラストのみ8分同時から16分3連が若干遠く、ホームポジション16分5連地団駄が一度だけ飛んでくるが、物量以外に足14たる要素は無いかもしれない -- 名無しさん (2016-04-18 22 32 48) 名前 コメント コメント(私的なことや感想はこちら) 1サビ後のリズム難さえなんとかなれば道中足14~15基準の配置を低BPMで延々踏める貴重な練習譜面に感じた、逆詐称というか閉店させる気が薄いという印象 -- 凛ソロってことはDecaDence Revoluionだよね (2016-04-20 23 12 21) 足13が触れるようになってきたのなら挑戦してもいい足14 足14初クリア目指すのならどうぞ -- 名無しさん (2016-04-24 12 18 11) このくらいのBPMなら地団駄も楽しく踏める。夏色DIARYほどきつくないし、踊ポゼの地団駄練習に使ってます -- 名無しさん (2016-04-24 18 10 39) 譜面作った人が同じなのかもだけど、ナイト・オブ・ナイツの最初のリズム難を無くした感じだね。足運びも似てるし。良譜面でイイネ! -- 名無しさん (2016-04-26 03 56 42) 中盤のリズム難は16分裏拍で「タタッタッタタ」ところでドコにラス殺しがあるんだ? -- 名無しさん (2016-05-16 00 46 58) ラス殺しも体力タグも14のBPM150につけるには弱いかなぁ -- 名無しさん (2017-05-23 16 53 41) 13挑戦クラスだけど間違えて選んだ勢いでクリアできる譜面だった -- 名無しさん (2017-10-09 22 32 15) ラス殺しは最後にしれっと混ざる同時のことだろうか。確かに初見は対応出来なくてコンボ切れたけど…。 -- 名無しさん (2019-10-01 08 56 02) 名前 コメント
https://w.atwiki.jp/perception_design/pages/35.html
課題3のページ このページは課題3【1つのウィンドウに複数の画像を表示させる】をやっている人向けのページです。 課題3の作成時の注意 今回の課題はプロジェクト作成時から前回までのやり方ではできないので このページを見ながら作成することをおすすめします。 プロジェクトの作成 1、まず、プロジェクトを作成します。 ファイル → 新規作成 → プロジェクト ※ここからが前回と違います 前回までは、Win32コンソールアプリケーションで作成したと思いますが、今回の課題では、 CLRを選択し、右側に windows フォームアプリケーションを選択し、好きなプロジェクト名を入力してOKを押してください。 2、次に出てくる画面で、前回と同じように「プリコンパイル済みヘッダ」のチェックをはずして完了を押してください。 フォームアプリケーションとは、GUIを簡単に作れるものです。 なので、画面にボタンを簡単に配置したり、画像を置いたりすることができます。 プログラムを書く 今回の課題は、画面に画像を配置したりして場所などを決めます 画像を配置すると、自動的にプログラムを書いてくれます。 プロジェクトを作成したら、Form.h[デザイン]のようなものが開いている状態になっていると思います。 そこで、画面の右端に「ツールボックス」と書かれた縦型のタブみたいなのがあると思います。 その上にマウスを当てるとぴよっとなんか出てくるので、その中から「button」と書かれたものを見つけて form.h[デザイン]の画面にドラッグします。 ※ここで、もしツールボックスの中が空だった人は、Form.h[デザイン]を開いた状態でもう一度マウスをツールボックスに当ててみてください。 すると、画面にボタンが現れると思います。 次に、同じようにツールボックスの中の「PictureBox」を画面にドラッグします。 すると、四角で囲まれた範囲が現れるので、その中で右クリックしてイメージの選択でイメージを選択します。 すると、画面に画像が表示されます。 同じように4つPictureBoxを同じようにドラッグしてイメージを選択してください。 今は、画像の位置などを決めるだけなのでなんの画像でもかまいません。 あとから、OpenCVで画像を読み込んでその画像を表示するプログラムに変えます。 ここまで終わった時点で、プログラムを書くファイル(Form.h)には、ボタンを配置するプログラムと画像の位置や、サイズを定義して表示するプログラムが完成していると思います。 Form.h[デザイン]で画像の位置を変えたりすると自動的にプログラムが変更されます。 確認のために、Form.hを開いてみてください。 開き方がわからない人は、ボタンをForm.h[デザイン]の先ほど配置したボタンをダブルクリックしてみてください。 そうすると、上のタブにForm.hが現れてくると思いますので、そこを開いてみると // button1 // this- button1- Location = System Drawing Point(417, 471); this- button1- Name = L"button1"; this- button1- Size = System Drawing Size(75, 23); this- button1- TabIndex = 0; this- button1- Text = L"チェンジ"; this- button1- UseVisualStyleBackColor = true; this- button1- Click += gcnew System EventHandler(this, Form1 button1_Click_1); // // pictureBox3 // this- pictureBox3- Image = (cli safe_cast System Drawing Image^ (resources- GetObject(L"pictureBox3.Image"))); this- pictureBox3- Location = System Drawing Point(70, 56); this- pictureBox3- Name = L"pictureBox3"; this- pictureBox3- Size = System Drawing Size(0, 0); this- pictureBox3- TabIndex = 2; this- pictureBox3- TabStop = false; // のように表示されていると思います。 PictureBoxのところは、PictureBoxの数だけ出てきます。 ここで、一度実行してみましょう。 ここでエラーが出た場合は、エラーの行数を確認し、もしPictureBoxのところにエラーが出てきていたら そのエラーの部分を削除してしまいましょう。 実行すると、ボタンと画像が表示されていると思います。 次に、ボタンを押したときの処理を書きます。 ボタンを押したときの処理は #pragma endregion private System Void button1_Click_1(System Object^ sender, System EventArgs^ e) { } この中にかきます。 そして画像を表示させる処理は this- pictureBox3- Size = System Drawing Size(縦, 横); になります。 縦と横には自分の好きなサイズを入力してください。 この処理をPictureBoxの番号を変えてかいてやります。 このままだと、ボタンを押したときに全部の画像が出てきてしまうので flagなどの変数を置いて、ボタンが押されたらflag++などして場合わけをしましょう。 そして実行してみましょう。 すると、ボタンを押す前から画像が表示されてしまっていると思います。 それは、PictureBoxのそれぞれのいろいろかいてあるところにも this- pictureBox3- Size = System Drawing Size(縦, 横); があるからです。 しかし、消してしまうとエラーが出てしいます。 そこで、始めに表示しないように this- pictureBox3- Size = System Drawing Size(0, 0); のようにサイズを0×0にします。 そうすると、プログラム的には表示しているが、実際は表示していないようになります。 これで、すべてのPictureBoxに同じようにかいて実行すると、何も表示されないで ボタンを押すと、画像が出てくると思います。 ここまでが、ボタンを押すと画像が表示されるプログラムです。 しかし、今までは、画像は、PictureBoxに元からイメージを選択してやっていたので ここからOpenCVを使い、画像を読み込んで処理していくところを説明します。 まず、Form.h[デザイン]のフレームの中のボタンとかなにもないとこで ダブルクリックします。 すると、プログラムの方に private System Void Form1_Load(System Object^ sender, System EventArgs^ e) { } が出てくると思います。 その中に今まで、メイン関数に書き込んでいたことを書き込みます。 そして、OpenCVを使うときに、しないといけないのが、インクルード。 今回の課題は、 "cv.h" "highgui.h" をインクルードします。 そして、cppファイルのほうにもライブラリファイルをインクルードしないといけません ソースファイルの中に、プロジェクト名.cpのファイルがあると思うので開きます。 ライブラリファイルのインクルードは #pragma commentを使います。 普通にいつも#includeなどとかくところ(上のところに) #pragma comment( lib, "cv.lib" ) #pragma comment( lib, "cxcore.lib" ) #pragma comment( lib, "cvaux.lib" ) #pragma comment( lib, "highgui.lib" ) と記述します。 今まで書いてあった#includeの文は消さないでください。 ※pragmaとcommentは改行されて表示されているかもしれませんが、実際にプログラムに書きこむときは改行しないで1行で書いてください。 これでインクルードは完了です。 ↓ここからはForm.hの private System Void Form1_Load(System Object^ sender, System EventArgs^ e) { } 内に記述します。 まず、流れとしては 1、cvLoadImage関数でファイル読み込み(変数名は自由につけてください) 2、回転した後の画像を格納するIplImage型を生成(cvCreateImage関数を使う)(変数名は自由につけてください) →ここでは、結果的に読み込んだ画像を回転させて3つの画像を作るので3つ生成する。 3、画像の中心を求めて、回転の軸を決める 4、回転行列を生成する 5、変換行列を求める 6、画像を回転させる 7、画像を表示させるために、Bitmap形式にする。 8、cvReleaseImage関数を使ってデータを開放する 9、PictureBoxに変換した画像をセットする。 みたいな感じです。 課題2までの内容で、1,8は書けると思いますのでここでは省略します もしわからないってなった場合は課題2のソースを見るなり、wikiの課題2のページを参照するようにしてください。 それでは、処理後の画像を格納するところを作っていきます。 cvCreateImage()関数を使います。 今までも使ってきたので見覚えあると思います IplImage *destinationImage = cvCreateImage( cvGetSize( sourceImage ), IPL_DEPTH_8U, 3); IplImage *des1 = cvCreateImage( cvGetSize( sourceImage ), IPL_DEPTH_8U, 3); IplImage *des2 = cvCreateImage( cvGetSize( sourceImage ), IPL_DEPTH_8U, 3); これを記述します 今回は、destinationImage、des1、des2というIplImage型を生成しました。 生成するものの名前は、自由に決めてください 名前によって各々これから作っていくプログラムのdestinationImage、des1、des2らの名前を変更しながら勧めてください。 説明すると、 第一引数のcvGetSize()では、生成する画像のサイズを指定しています。 今回は読み込んだ画像と同じサイズを生成するので()の中身はsourceImage(読み込んだ画像名)でOKです。 ここから回転の処理をしていきます。 まず、回転の中心を決めます 回転の中心を求めるには cvPoint2D32f( 中心のx座標, 中心のy座標); //回転の中心 基本的に画像の中心なので次のように記述します。 CvPoint2D32f center = cvPoint2D32f( sourceImage- width / 2.0, sourceImage- height / 2.0); //回転の中心 次に、回転行列を生成します。 回転行列は cvCreateMat()関数を使って CvMat *rotationMatrix = cvCreateMat( 2, 3, CV_32FC1 ); のように記述します。 そして変換行列は cv2DRotationMatrix( center, ANGLE, SCALE, rotationMatrix); を使います。 centerは回転の中心 ANGLEは回転角度 SCALEは拡大縮小の倍数 rotationMatrixは出力行列 ここで、一番上で#includeを書いてるところで 回転角度と拡大縮小の倍数をあらかじめ定義しておきます。 ここでは、 #define ANGLE 90.0 //90度回転なので #define SCALE 1.0 //拡大縮小はしないので1.0でokです。 と記述しておいてください。 そして画像の拡大縮小は cvWarpAffine( 原画, 出力画像, 変換行列, 補間方法, 対応の取れない点に対して与える値 ); ここで、原画、出力画像はsourceImageなどIplImage型の変数を入れます ここには、自分で宣言したものをいれてください、 補間方法には、 CV_INTER_LINEAR | CV_WARP_FILL_OUTLIERS を記述してください。 意味は CV_INTER_LINEAR → 値が決定されない画素には第4引数で指定した色を与える CV_WARP_FILL_OUTLIERS → 出力画像の座標値を元に、対応する入力画像の座標を求める逆変換を行う 第4引数には、cvScalarAll( 0 )と記述してください cvScalarAll( 0 )はCvScalar型の画像のすべての要素が0、すなわち黒をあらわします。 最終的に cvWarpAffine( sourceImage, destinationImage, rotationMatrix, CV_INTER_LINEAR | CV_WARP_FILL_OUTLIERS, cvScalarAll( 0 ) ); こうなります。 ここで、実際に4つの画像を表示させないといけないので 3つの回転済みの画像を生成することになります。 なので、cvWarpAffine()関数は全部で3回使うことになります。 流れとしては sourceImage →90度回転→ destinationImage destinationImage →90度回転 → des1 des1 →90度回転→ des2 という感じで変換すれば簡単にできるので 上の流れにそって引数を入れていきます 原画は変換前の画像なので左側になります 出力画像は変換後の画像なので右側になります 先ほどの1回目の変換(sourceImageを90度回転してdestinationImageに格納する)例を示すと・・・ cvWarpAffine( sourceImage, destinationImage, rotationMatrix, CV_INTER_LINEAR | CV_WARP_FILL_OUTLIERS, cvScalarAll( 0 ) ); これは、sourceImageを90度回転してdestinationImageに格納するということになりますので 残りの2つは、同じように引数を変えてやってみてください。 次に読み込んだ画像はjpg形式だったりいろいろな形式だと思いますが 実際にFormでPictureBoxでイメージを選択した場合は自動的にBitmap形式に変換して表示しています なので cvLoadImage()関数で読み込んだ画像は自動で変換はしてくれないので 変換するプログラムを書きます。 IntPtr ip( new unsigned char[ sourceImage- widthStep * sourceImage- height ] ); memcpy( ip.ToPointer(), sourceImage- imageData, sourceImage- widthStep * sourceImage- height ); Bitmap^ bmp = gcnew Bitmap(sourceImage- width, sourceImage- height, sourceImage- widthStep, System Drawing Imaging PixelFormat Format24bppRgb, ip); これで変換できます。 ここは、C++の書き方なのでよくわかりませんが サイズなどを指定しているところに画像の名前が入ってることがわかります。 これを4つの画像すべてに適用します よってこの3行を4つかくことになります。 それぞれ画像の名前を変えてかいてやればOKです。 そして、上の変換のプログラムでのに注目してほしいのですが Bitmap形式のbmpに入れています、 これは、画像ごとに用意する必要がありますので 画像ごとにbmp1、bmp2、bmp3を用意しましょう。 そして 1行目の初めの IntPtr ipも画像ごとのサイズ情報などが入っていますので3行目の最後の引数のipを画像ごとにかえてやる必要があります。 今回はip1、ip2、ip3を用意しました。 IntPtr ip( new unsigned char[ sourceImage- widthStep * sourceImage- height ] ); memcpy( ip.ToPointer(), sourceImage- imageData, sourceImage- widthStep * sourceImage- height ); Bitmap^ bmp = gcnew Bitmap(sourceImage- width, sourceImage- height, sourceImage- widthStep, System Drawing Imaging PixelFormat Format24bppRgb, ip); IntPtr ip2( new unsigned char[ destinationImage- widthStep * destinationImage- height ] ); memcpy( ip2.ToPointer(), destinationImage- imageData, destinationImage- widthStep * destinationImage- height ); Bitmap^ bmp2 = gcnew Bitmap(destinationImage- width, destinationImage- height, destinationImage- widthStep, System Drawing Imaging PixelFormat Format24bppRgb, ip2); IntPtr ip3( new unsigned char[ des1- widthStep * des1- height ] ); memcpy( ip3.ToPointer(), des1- imageData, des1- widthStep * des1- height ); Bitmap^ bmp3 = gcnew Bitmap(des1- width, des1- height, des1- widthStep, System Drawing Imaging PixelFormat Format24bppRgb, ip3); IntPtr ip4( new unsigned char[ des2- widthStep * des2- height ] ); memcpy( ip4.ToPointer(), des2- imageData, des2- widthStep * des2- height ); Bitmap^ bmp4 = gcnew Bitmap(des2- width, des2- height, des2- widthStep, System Drawing Imaging PixelFormat Format24bppRgb, ip4); これでBitmapに変換できました。 あとは、イメージの読み込みデータを解放してやります ここでは、かきませんが cvReleaseImage()関数を使います。(ほとんど書いてますが・・・) 生成した画像、読込んだ画像すべて解放しましょう。 あとは、PictureBoxに格納するだけです。 this- pictureBox3- Image = bmp; このようにかきます これは、PictureBox3にbmpを格納する、という意味です。 bmpというのは先ほどBitmapに変換したものです。 ほかの3つ画像も同じようにかいてやります。 そして実行してみましょう。 読込んだ画像がボタンをおしたら表示されるようになっているといいな。 実際、書いてる途中で頭ぐちゃぐちゃになったので どっかでエラーが出てしまうかもしれないので、エラーがでてもう無理だ!ってなったら 聞いてください~。 長くなりましたが、これで課題3の説明です。